let { validEmail } = require("../utils/validate");
const nodemailer = require('nodemailer');

// 创建可重用邮件传输器
const transporter = nodemailer.createTransport({
    host: "smtp.qq.com", // 网易的邮件地址
    port: 465, // 端口
    secureConnection: false, // use SSL
    auth: {
        "user": 'liszter@qq.com', // 邮箱账号
        "pass": 'qzctfpfwithggcjf' // 邮箱的授权码
    }
});

/**
 * @param target 接收方
 * @param content {subject, html}发送内容
 * 
 * **/
const email = async function (target, content) {
    return new Promise((resolve, reject) => {
        // 判断邮箱格式
        if (validEmail(target)) {
            let mailOptions = {
                from: 'liszter@qq.com', // 发件人地址
                to: target, // 收件人地址，多个收件人可以使用逗号分隔
                subject: content.title, // 邮件标题
                html: content.html // 邮件内容
            };
            transporter.sendMail(mailOptions, function (err, info) {
                if (err) {
                    // 发送失败
                    console.log(err)
                    reject(false)
                } else {
                    resolve(true)
                }
            })
        } else {
            // 邮箱格式不正确
            console.log('邮箱格式不正确');
            reject(false)
        }
    })
}

module.exports = {
    email
}